home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
007
/
vtkermit.arc
/
MSDEFS.H
< prev
next >
Wrap
Text File
|
1986-02-13
|
10KB
|
299 lines
; Update 2 Feb 86
Program_name MACRO
DB 'VTKermit'
ENDM
VerDef MACRO
DB ' '
Program_name
DB ' 1.0'
ENDM
RB_Flag = 1 ; Turn on or off Rainbow support
; 1 = ON, 0 = OFF
Help_window_left=12 ; Leftmost column of help window
Help_window_top=5 ; Topmost row of help window
; ASCII chars we use ...
SOH EQU 1 ; SOH -- Start of header (Control A)
EOT EQU 4 ; EOT -- End of transmission (Control-D)
ACK EQU 6 ; ACK -- Positive acknowledge (Control F)
Bell EQU 7 ; BEL -- Beep tone (Control G)
Bs EQU 8 ; BS -- Backspace (Control H)
Tab EQU 11q ; HT -- Horizontal tab (Control I)
Lf EQU 12q ; LF -- Line feed (Control J)
Vt EQU 13q ; VT -- Vertical tab (Control K)
Ff EQU 14q ; FF -- Form feed (Control L)
Cr EQU 15q ; CR -- Carriage return (Control M)
ShO EQU 16q ; SI -- Shift out (Control N)
ShI EQU 17q ; SO -- Shift in (Control O)
Xon EQU 21q ; DC1 -- Transmit on (Control Q)
Xoff EQU 23q ; DC3 -- Transmit off (Control S)
ASCII_NAK EQU 25q ; NAK -- Negative acknowledge (Control U)
CtlZ EQU 32q ; Control Z
Esc EQU 33q ; Escape
Space EQU 40q ; A blank
Del EQU 177q ; Delete
DOS EQU 21H
CONIN EQU 01H
CONOUT EQU 02H
RDRIN EQU 03H
PUNOUT EQU 04H
LSTOUT EQU 05H
DCONIO EQU 06H
CONINQ EQU 07H ; quiet console input
PRSTR EQU 09H
CONSTAT EQU 0BH
SELDSK EQU 0EH ; Select disk. [21a]
OPENF EQU 0FH
CLOSF EQU 10H
SFIRST EQU 11H
SNEXT EQU 12H
DELF EQU 13H
READF EQU 14H ; Read from the file.
WRITEF EQU 15H
MAKEF EQU 16H
GCURDSK EQU 19H ; Current disk. [21a]
SETDMA EQU 1AH
PRSFCB EQU 29H ; parse an fcb.
DOSVER EQU 30H ; dos version #
CHDIR EQU 3BH ; 2.0 change directory
CREATE2 EQU 3CH ; 2.0 create
OPEN2 EQU 3DH ; 2.0 open
CLOSE2 EQU 3EH ; 2.0 close
READF2 EQU 3FH ; 2.0 read.
WRITEF2 EQU 40H ; 2.0 write
LSEEK EQU 42H ; 2.0 lseek
IOCTL EQU 44H
GCD EQU 47H ; 2.0 get current directory.
PAREVN EQU 00H ; Even parity. [10 start]
PARMRK EQU 01H ; Mark parity.
PARNON EQU 02H ; No parity.
PARODD EQU 03H ; Odd parity.
PARSPC EQU 04H ; Space parity.
CMKEY EQU 01H ; Parse a keyword.
CMIFI EQU 02H ; Parse an input file spec (can be wild).
CMOFI EQU 03H ; Parse an output file spec.
CMCFM EQU 04H ; Parse a confirm.
CMTXT EQU 05H ; Parse arbitrary text up to CR. [8]
FLOXON EQU 1113H ; Use XON/XOFF for flow control.
FLONON EQU 0 ; Don't do flow control.
DEFHAND EQU XON ; Use XON as default handshake.
Cmdlen EQU 80H ; Size of command buffer
DMASIZ EQU 80H ; Size of DMA.
FCBSIZ EQU 25H
MAXTAK EQU 10 ; Max number of TAKE's allowed. [25t]
MAXTRY EQU 10 ; Default number of retries on a packet.
IMXTRY EQU 20 ; Default number of retries send initiate.
DEFESC EQU ']'-100q ; The default escape character.
DRPSIZ EQU 5EH ; Default receive packet size.
DSPSIZ EQU 50H ; Default send packet size.
DSTIME EQU 10 ; Default send time out interval.
DRTIME EQU 10 ; Default receive time out interval.
DSRVTM EQU 20 ; Default server timeout.
DSPAD EQU 00H ; Default send padding.
DRPAD EQU 00H ; Default receive padding.
DSPADC EQU 00H ; Default send padding char.
DRPADC EQU 00H ; Default receive padding char.
DSEOL EQU CR ; Default send EOL char.
DREOL EQU CR ; Default receive EOL char.
DSSOH EQU SOH ; Default send start-of-packet char.
DRSOH EQU SOH ; Default receive start-of-packet char.
DSQUOT EQU '#' ; Default send quote char.
DRQUOT EQU '#' ; Default receive quote char.
DQBIN EQU '&' ; Default 8-bit prefix. [21b]
DRPT EQU '~' ; Default repeat prefix.
DCHKLEN EQU 1 ; Default checksum length.
DEFPAR EQU PARNON ; Default parity (none.)
IBMPAR EQU PARMRK ; IBM's parity (mark.) [10 end]
bufsiz EQU 2048 ; size of serial input buffer
; baud rate definitions
B00455 EQU 0 ; 45.5 baud
B0050 EQU 1 ; 50 baud
B0075 EQU 2 ; 75 baud
B0110 EQU 3 ; 110 baud
B01345 EQU 4 ; 134.5 baud
B0150 EQU 5 ; 150 baud
B0300 EQU 6 ; 300 baud
B0600 EQU 7 ; 600 baud
B1200 EQU 8 ; 1200 baud
B1800 EQU 9 ; 1800 baud
B2000 EQU 10 ; 2000 baud
B2400 EQU 11 ; 2400 baud
B4800 EQU 12 ; 4800 baud
B9600 EQU 13 ; 9600 baud
B19200 EQU 14 ; 19200 baud
B38400 EQU 15 ; 38400 baud
B23040 EQU 16 ; 23040 baud
BAUDSIZ EQU 17 ; Number of options for baud rate.
; Structure definitions.
; Modem information.
mdminfo struc
mddat dw 0 ; Default to port 1. [19b start]
mdstat dw 0 ; Ditto.
mdcom dw 0 ; Here too.
mden db 0
mddis db 0
mdmeoi db 0
mdintv dw 0 ; [19b end]
mdminfo ends
; Command information.
cmdinfo struc
cmstat db 0 ; What is presently being parsed.
cmaflg db 0 ; Non-zero when an action char has been found.
cmccnt db 0 ; Non-zero if a significant char is found.
cmsflg db 0 ; Non-zero when the last char was a space.
cmostp dw 0 ; Old stack pointer for reparse.
cmrprs dw 0 ; Address to go to on reparse.
cmprmp dw 0 ; Address of prompt.
cmptab dw 0 ; Address of present keyword table.
cmhlp dw 0 ; Address of present help.
cmdbuf db Cmdlen DUP(0) ; Buffer for command parsing.
cmfcb dw 0 ; Pointer to FCB.
cmfcb2 dw 0 ; Pointer to position in FCB.
cmcptr dw 0 ; Pointer for next char input.
cmdptr dw 0 ; Pointer into the command buffer.
cmsiz dw 0 ; Size info of user input.
cmkptr dw 0 ; Pointer to keyword.
cmsptr dw 0 ; Place to save a pointer.
cmchr db 0 ; Save char when checking ambiguity.
cmrflg db 0 ; Assume parsing filename for send. [21a]
cmcr db 0 ; Say whether bare CR is allowed.
cmdinfo ends
; Flags information.
flginfo struc
belflg db 1 ; Use bell [17a -- DT]
comflg db 1 ; Use COM1 by default. [19b]
abfflg db 1 ; Discard incoming file if abort. [20d]
debug db 0 ; Debugging mode (default off).
flwflg db 1 ; File warning flag (default on). [19c]
ibmflg db 0 ; IBM flag (default off).
extflg db 0 ; Exit flag (default off).
vtflg db 1 ; H-19 emulation.
droflg db 0 ; Override default disk drive. [21a]
nmoflg db 0 ; Override name from the F packet. [21a]
wldflg db 0 ; Assume no "*" in fn. [7]
cxzflg db 0 ; ^X/^Z to interrupt file x-fer. [20b]
xflg db 0 ; Seen "X" packet. [21c]
filflg db 0 ; Non-zero when nothing in DMA buffer.
eoflag db 0 ; EOF flag; non-zero on EOF.
getflg db 0 ; Assume normal RECEIVE (not GET). [21a]
capflg db 0 ; On if capturing data. [25]
takflg db 0 ; On if echo commands of TAKE file.
timflg db 1 ; Say if are timing out or not.
destflg db 1 ; Incoming files destination: disk or printer.
eofcz db 0 ; ^Z signals eof if non-zero.
remflg db 0 ; non-zero if in remote mode for this XFER
Real_remflg db 0 ; non-zero if REALLY in remote mode.
flginfo ends
; Transmission parameters
trinfo struc
maxdat db 80 ; Max packet size for send.
chklen db 1 ; Number of characters in checksum.
seol db dseol ; Send EOL char.
reol db dreol ; Receive EOL char.
ssoh db dssoh ; Send start-of-packet character.
rsoh db drsoh ; Receive start-of-packet character.
squote db dsquot ; Send quote character.
rquote db drquot ; Receive quote character.
spsiz db dspsiz ; Send packet size.
rpsiz db drpsiz ; Receive packet size.
stime db dstime ; Send timeout. (Don't timeout).
rtime db drtime ; Receive timeout.
spad db dspad ; Send padding.
rpad db drpad ; Receive padding.
spadch db dspadc ; Send padding char.
rpadch db drpadc ; Receive padding char.
ebquot db 'Y' ; Send 8-bit quote character.
escchr db defesc ; Escape character.
scaps db 0 ; Send Kermit capabilities
rcaps db 10q ; Receive Kermit capabilities
trinfo ends
pktinfo struc
pktnum dw 0 ; Packet number.
numpkt dw 0 ; Total number of packets sent.
numrtr dw 0 ; Total number of retries.
argblk dw 0 ; For subroutine arguments.
argbk1 dw 0
argbk2 dw 0
argbk3 dw 0
numtry db 0 ; Number of tries on this packet.
oldtry db 0 ; Number of tries on previous packet.
state db 0 ; Present state of the automaton.
pktinfo ends
takinfo struc
takfcb db fcbsiz dup(0)
takbuf db dmasiz dup(0)
takptr dw 0
takchl db 0
takcnt dw 0,0
takinfo ends
; Port Information.
prtinfo struc
baud dw 0 ; Default baud rate.
flowc dw 0 ; Do flow control with XON/XOFF.
ecoflg db 0 ; Local echo flag (default off).
parflg db 0 ; Parity flag (default none.) [10]
floflg db 0 ; If need flow control during file x-fer.
hndflg db 0 ; If need handshake during file x-fer.
hands db 0 ; Default handshake.
prtinfo ends
mkeyw macro key,val
local junk,oldval
oldval EQU $
db junk,key,'$'
junk EQU $-oldval-2
dw val
endm
; definitions for terminal handler:
termarg struc
flgs db ? ; flags
prt db ? ; port to use (0,1)
cols db ? ; # columns on screen
rows db ? ; # rows on screen
captr dw ? ; routine to call with captured data
belld dw ? ; bell divisor
klen dw ? ; length of key redefinition table
ktab dw ? ; address of key redefinition table
krpl dw ? ; address of key replacement table
escc db ? ; escape character
baudb db ? ; baud rate bits.
parity db ? ; parity
termarg ends
; bits for flag byte
scrsam EQU 80h ; on if shouldn't redraw screen
capt EQU 40h ; capture output
emheath EQU 20h ; emulate heath
havtt EQU 10h ; have translate table
trnctl EQU 08h ; translate control chars
modoff EQU 04h ; mode line off
lclecho EQU 01h ; local echo